#ifndef CARDINSTANCE_H_
#define CARDINSTANCE_H_

namespace mtga {
	class Card;
	class UserState;
}

namespace mtga {

	/*
	 * Representa una carta dentro del juego (puede tener contadores, estar asociado a otra carta como
	 * por ejemplo el caso de un aura, haber pagado un coste variable, etc).
	 */
	class CardInstance {
		public:
			CardInstance(Card* card);
			virtual ~CardInstance();
			Card* getCard() const {
				return card;
			}
			UserState* getOwner() const {
				return owner;
			}

		private:
			Card* card;
			UserState* owner;
	};
}

#endif
